/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.constant.gui.util;

import java.io.File;
import java.util.List;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import org.constant.gui.NodoArbol;
import org.constant.util.ArchivosUtil;

/**
 *
 * @author gsierra
 */
public class ArbolManager {

    private ArchivosUtil archivosUtil;
    private final JTree arbol;
    private final List<String> dispositivos;

    public ArbolManager(ArchivosUtil archivos, JTree arbol, List<String> dispositivos) {
        this.archivosUtil = archivos;
        this.arbol = arbol;
        this.dispositivos = dispositivos;
    }

    public void creaArbolDirectorios(JTree arbol, File dispositivo) {
        NodoArbol raiz = (NodoArbol) arbol.getModel().getRoot();
        NodoArbol hijo = new NodoArbol(dispositivo);
        creaNodos(dispositivo, hijo);
        raiz.add(hijo);
        arbol.updateUI();
    }

    private void creaNodos(File dispositivo, DefaultMutableTreeNode padre) {
        List<File> contenido = archivosUtil.getContenido(dispositivo);
        if(contenido.size() > 0){
            for(File fContenido: contenido){
                NodoArbol hijo = new NodoArbol(fContenido);
                padre.add(hijo);
                if(fContenido.isDirectory()){
                   creaNodos(fContenido, hijo);
                }
            }
        }
    }
}
